/*
 * Tabla.h
 *
 *  Created on: 17/05/2012
 *      Author: Shazgath
 */

#ifndef TABLA_H_
#define TABLA_H_
#include <vector>
#include <string>
#include "Atributo.h"

//		clase que contiene una tabla cargada a memoria

class Tabla {
public:
	Tabla(unsigned int nTabla);
	virtual ~Tabla();
	std::vector<Atributo> getAtributos();
	void insertarAtributo(Atributo a);
	Atributo getAtributo(unsigned int i);
	unsigned int size();
	int getPosicion(std::string nombre);
	char getTipo(int pos);
	friend std::ostream& operator<<(std::ostream& oss, Tabla& table);
	std::string getNombre(int pos);
private:
	std::vector<Atributo> atributos;		//  Atributos de la tabla
	unsigned int nTabla;		//  identificador de tabla
};
std::ostream& operator<<(std::ostream& oss, Tabla& tabla);
#endif /* TABLA_H_ */
